union MyUnion {
    public static var xyz = "hi";

    var a: Char;
    var b: CString;
}

function main() {
    printf("%s\n", MyUnion.xyz);
    var a: MyUnion;
    a.a = 100;
    printf("%hhi\n", a.a);
    a.b = "abcdefg";
    printf("%s\n", a.b);

    puts("MyUnion fields:");
    for field in MyUnion.fields {
        printf("- ");
        puts(field);
    }

    var x = union MyUnion {a: c'a'};
    var y = union MyUnion {b: "hello"};
}
